1.5.1.2.1 Sobrecarga de operadores

Se pueden terner varias operaciones constructoras como:

\begin{eqnarray*}
Complejo: & & \rightarrow Complejo\\
Complejo: & R & \rightar...
...ghtarrow Complejo\\
Complejo: & Complejo & \rightarrow Complejo
\end{eqnarray*}



La primera operación constructora no tiene dominio y realmente lo que hace es crear un \( Complejo \) cuya parte \( real \) e \( imaginaria \) están en cero. La segunda operación, toma un real y crea un \( Complejo \) con la parte \( imaginaria \) en cero. La tercera, operación toma un real y un imaginario y crea un \( Complejo \). Y la última operación constructora, toma un \( Complejo \), crea uno nuevo y copia la parte \( real \) y la \( imaginaria \) en el nuevo. Esta última operación constructora es muy importante pues sirve para copiar los \( Complejos \).

Como podemos observar, todas tienen el mismo nombre, a esto se le conoce como sobrecarga de operaciones. Una sobrecarga se puede hacer siempre y cuando el dominio de cada operación sea distinto. En nuestro caso: el dominio de la primera es vacio, el de la segunda es \( R \) y el de la última \( R\times I \). La sobrecarga se puede hacer con cualquier operación del TDA, no sólo con las operaciones constructoras. Por ejemplo. podrímos sobrecargar la operación sumar del TDA \( Complejo \) asi:

\begin{eqnarray*}
sumar: & Complejo\times Complejo & \rightarrow Complejo\\
sum...
...row Complejo\\
sumar: & Complejo\times I & \rightarrow Complejo
\end{eqnarray*}



La primera operación es la que ya habíamos definido la suma entre complejos, pero la siguiente es la suma entre un \( Complejo \) y un real, y la última entre un \( Complejo \) y un imaginario.

Ahora,veamos como se implementa todo esto en un código que piueda enterder una máquina.


next up previous contents
Next: 1.5.2 Implementación Up: El diseño de las Previous: El diseño de las   Contents
Free Web Hosting